import os

def modify_last_lines(file_path, new_lines):
    with open(file_path, 'r+') as file:
        # 移动到文件的末尾
        file.seek(0, os.SEEK_END)
        # 计算文件的总大小
        size = file.tell()
        # 计算最后一行的起始位置
        last_line_start = size - file.tell()
        # 逐行向前读取和修改
        for i in range(5):
            # 移动到上一行的末尾
            file.seek(-1, os.SEEK_CUR)
            # 读取这一行
            line = file.readline()
            # 移动到上一行的开头
            file.seek(-len(line), os.SEEK_CUR)
            # 写入新的内容
            file.write(new_lines[i])
            # 更新最后一行的起始位置
            last_line_start -= len(line)
        # 移动到最后一行的起始位置
        file.seek(last_line_start)
        # 清空最后一行的内容
        file.truncate()

# 要替换的新五行内容
new_content = [
    "Y0.000\n",
    "X0.000\n",
    "G00Z10.000\n",
    "M5\n",
    "M02\n"
]

# 遍历当前目录下的所有文本文件
for filename in os.listdir('.'):
    if filename.endswith('.txt'):  # 假设文件扩展名为.txt
        modify_last_lines(filename, new_content)
        print(f"Modified {filename}")

print("All files have been modified.")
# 文件较大,倒着来遍历,youbug